package com.ioabsoftware.gameraven.views.rowdata;
import android.text.Html;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.URLSpan;
import com.ioabsoftware.gameraven.AllInOneV2;
import com.ioabsoftware.gameraven.views.BaseRowData;
import com.ioabsoftware.gameraven.views.MessageLinkSpan;
import com.ioabsoftware.gameraven.views.RowType;
public class PMDetailRowData extends BaseRowData {
private String sender, title;
private SpannableString message;
public String getSender() {
return sender;
}
public String getTitle() {
return title;
}
public SpannableString getMessage() {
return message;
}
@Override
public RowType getRowType() {
return RowType.PM_DETAIL;
}
public PMDetailRowData(String senderIn, String titleIn, String messageIn) {
sender = senderIn;
title = titleIn;
message = linkifyHtml(messageIn);
}
@Override
public String toString() {
return "title: " + title +
"\nsender: " + sender +
"\nmessage: " + message;
}
public static SpannableString linkifyHtml(String html) {
Spanned spanned = Html.fromHtml(html);
SpannableString text = new SpannableString(spanned);
URLSpan[] old = text.getSpans(0, text.length(), URLSpan.class);
for (int i = old.length - 1; i >= 0; i--) {
int start = text.getSpanStart(old[i]);
int end = text.getSpanEnd(old[i]);
String url = old[i].getURL();
text.removeSpan(old[i]);
text.setSpan(new MessageLinkSpan(url, AllInOneV2.get()), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return text;
}
}